home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 January: Mac OS SDK / Dev.CD Jan 96 SDK / Dev.CD Jan 96 SDK1.toast / Development Kits (Disc 1) / Communications Toolbox / CommToolbox 1.1 / Interfaces / PInterfaces / Dialogs.p < prev    next >
Encoding:
Text File  |  1994-11-21  |  5.7 KB  |  206 lines  |  [TEXT/MPS ]

  1. {************************************************************
  2.     Dialogs.p
  3.     Pascal Interface to the Macintosh Libraries
  4.  
  5.         Copyright Apple Computer, Inc.     1985-1991
  6.         All rights reserved
  7. ************************************************************}
  8.  
  9.  
  10. {$IFC UNDEFINED UsingIncludes}
  11. {$SETC UsingIncludes := 0}
  12. {$ENDC}
  13.  
  14. {$IFC NOT UsingIncludes}
  15.     UNIT Dialogs;
  16.     INTERFACE
  17. {$ENDC}
  18.  
  19. {$IFC UNDEFINED UsingDialogs}
  20. {$SETC UsingDialogs := 1}
  21.  
  22. {$I+}
  23. {$SETC DialogsIncludes := UsingIncludes}
  24. {$SETC UsingIncludes := 1}
  25. {$IFC UNDEFINED UsingWindows}
  26. {$I $$Shell(PInterfaces)Windows.p}
  27. {$ENDC}
  28. {$IFC UNDEFINED UsingTextEdit}
  29. {$I $$Shell(PInterfaces)TextEdit.p}
  30. {$ENDC}
  31. {$SETC UsingIncludes := DialogsIncludes}
  32.  
  33. CONST
  34. ctrlItem = 4;
  35. btnCtrl = 0;
  36. chkCtrl = 1;
  37. radCtrl = 2;
  38. resCtrl = 3;
  39. statText = 8;
  40. editText = 16;
  41. iconItem = 32;
  42. picItem = 64;
  43. userItem = 0;
  44. itemDisable = 128;
  45. ok = 1;
  46. cancel = 2;
  47. stopIcon = 0;
  48. noteIcon = 1;
  49. cautionIcon = 2;
  50.  
  51. TYPE
  52. {    Dialog Item List Manipulation Constants    }
  53. DITLMethod = INTEGER;
  54.  
  55. CONST
  56. overlayDITL         = 0;
  57. appendDITLRight     = 1;
  58. appendDITLBottom     = 2;
  59.  
  60. TYPE
  61. StageList = PACKED RECORD
  62.     boldItm4: 0..1;             {default button item number - 1}
  63.     boxDrwn4: BOOLEAN;          {true if alert box to be drawn}
  64.     sound4: 0..3;               {sound number}
  65.     boldItm3: 0..1;
  66.     boxDrwn3: BOOLEAN;
  67.     sound3: 0..3;
  68.     boldItm2: 0..1;
  69.     boxDrwn2: BOOLEAN;
  70.     sound2: 0..3;
  71.     boldItm1: 0..1;
  72.     boxDrwn1: BOOLEAN;
  73.     sound1: 0..3;
  74.     END;
  75.  
  76.  
  77. DialogPtr = WindowPtr;
  78. ResumeProcPtr = ProcPtr;        { PROCEDURE Resume; } 
  79. SoundProcPtr = ProcPtr;         { PROCEDURE DoSound; } 
  80. ModalFilterProcPtr = ProcPtr;   { FUNCTION Filter(theDialog: DialogPtr; VAR theEvent: EventRecord; VAR itemHit: INTEGER): BOOLEAN; }
  81.  
  82. DialogPeek = ^DialogRecord;
  83. DialogRecord = RECORD
  84.     window: WindowRecord;
  85.     items: Handle;
  86.     textH: TEHandle;
  87.     editField: INTEGER;
  88.     editOpen: INTEGER;
  89.     aDefItem: INTEGER;
  90.     END;
  91.  
  92. DialogTPtr = ^DialogTemplate;
  93. DialogTHndl = ^DialogTPtr;
  94. DialogTemplate = RECORD
  95.     boundsRect: Rect;
  96.     procID: INTEGER;
  97.     visible: BOOLEAN;
  98.     filler1: BOOLEAN;
  99.     goAwayFlag: BOOLEAN;
  100.     filler2: BOOLEAN;
  101.     refCon: LONGINT;
  102.     itemsID: INTEGER;
  103.     title: Str255;
  104.     END;
  105.  
  106. AlertTPtr = ^AlertTemplate;
  107. AlertTHndl = ^AlertTPtr;
  108. AlertTemplate = RECORD
  109.     boundsRect: Rect;
  110.     itemsID: INTEGER;
  111.     stages: StageList;
  112.     END;
  113.  
  114.  
  115. PROCEDURE InitDialogs(resumeProc: ResumeProcPtr);
  116.     INLINE $A97B;
  117. PROCEDURE ErrorSound(soundProc: SoundProcPtr);
  118.     INLINE $A98C;
  119. FUNCTION NewDialog(wStorage: Ptr;boundsRect: Rect;title: Str255;visible: BOOLEAN;
  120.     procID: INTEGER;behind: WindowPtr;goAwayFlag: BOOLEAN;refCon: LONGINT;
  121.     itmLstHndl: Handle): DialogPtr;
  122.     INLINE $A97D;
  123. FUNCTION GetNewDialog(dialogID: INTEGER;dStorage: Ptr;behind: WindowPtr): DialogPtr;
  124.     INLINE $A97C;
  125. PROCEDURE CloseDialog(theDialog: DialogPtr);
  126.     INLINE $A982;
  127. PROCEDURE DisposDialog(theDialog: DialogPtr);
  128.     INLINE $A983;
  129. PROCEDURE DisposeDialog(theDialog: DialogPtr);
  130.     INLINE $A983;
  131. PROCEDURE CouldDialog(dialogID: INTEGER);
  132.     INLINE $A979;
  133. PROCEDURE FreeDialog(dialogID: INTEGER);
  134.     INLINE $A97A;
  135. PROCEDURE ParamText(param0: Str255;param1: Str255;param2: Str255;param3: Str255);
  136.     INLINE $A98B;
  137. PROCEDURE ModalDialog(filterProc: ModalFilterProcPtr;VAR itemHit: INTEGER);
  138.     INLINE $A991;
  139. FUNCTION IsDialogEvent(theEvent: EventRecord): BOOLEAN;
  140.     INLINE $A97F;
  141. FUNCTION DialogSelect(theEvent: EventRecord;VAR theDialog: DialogPtr;VAR itemHit: INTEGER): BOOLEAN;
  142.     INLINE $A980;
  143. PROCEDURE DrawDialog(theDialog: DialogPtr);
  144.     INLINE $A981;
  145. PROCEDURE UpdtDialog(theDialog: DialogPtr;updateRgn: RgnHandle);
  146.     INLINE $A978;
  147. PROCEDURE UpdateDialog(theDialog: DialogPtr;updateRgn: RgnHandle);
  148.     INLINE $A978;
  149. FUNCTION Alert(alertID: INTEGER;filterProc: ModalFilterProcPtr): INTEGER;
  150.     INLINE $A985;
  151. FUNCTION StopAlert(alertID: INTEGER;filterProc: ModalFilterProcPtr): INTEGER;
  152.     INLINE $A986;
  153. FUNCTION NoteAlert(alertID: INTEGER;filterProc: ModalFilterProcPtr): INTEGER;
  154.     INLINE $A987;
  155. FUNCTION CautionAlert(alertID: INTEGER;filterProc: ModalFilterProcPtr): INTEGER;
  156.     INLINE $A988;
  157. PROCEDURE CouldAlert(alertID: INTEGER);
  158.     INLINE $A989;
  159. PROCEDURE FreeAlert(alertID: INTEGER);
  160.     INLINE $A98A;
  161. PROCEDURE GetDItem(theDialog: DialogPtr;itemNo: INTEGER;VAR itemType: INTEGER;
  162.     VAR item: Handle;VAR box: Rect);
  163.     INLINE $A98D;
  164. PROCEDURE SetDItem(theDialog: DialogPtr;itemNo: INTEGER;itemType: INTEGER;
  165.     item: Handle;box: Rect);
  166.     INLINE $A98E;
  167. PROCEDURE HideDItem(theDialog: DialogPtr;itemNo: INTEGER);
  168.     INLINE $A827;
  169. PROCEDURE ShowDItem(theDialog: DialogPtr;itemNo: INTEGER);
  170.     INLINE $A828;
  171. PROCEDURE SelIText(theDialog: DialogPtr;itemNo: INTEGER;strtSel: INTEGER;
  172.     endSel: INTEGER);
  173.     INLINE $A97E;
  174. PROCEDURE GetIText(item: Handle;VAR text: Str255);
  175.     INLINE $A990;
  176. PROCEDURE SetIText(item: Handle;text: Str255);
  177.     INLINE $A98F;
  178. FUNCTION FindDItem(theDialog: DialogPtr;thePt: Point): INTEGER;
  179.     INLINE $A984;
  180. FUNCTION NewCDialog(dStorage: Ptr;boundsRect: Rect;title: Str255;visible: BOOLEAN;
  181.     procID: INTEGER;behind: WindowPtr;goAwayFlag: BOOLEAN;refCon: LONGINT;
  182.     items: Handle): DialogPtr;
  183.     INLINE $AA4B;
  184. FUNCTION GetAlrtStage: INTEGER;
  185.     INLINE $3EB8,$0A9A;
  186. PROCEDURE ResetAlrtStage;
  187.     INLINE $4278,$0A9A;
  188. PROCEDURE DlgCut(theDialog: DialogPtr);
  189. PROCEDURE DlgPaste(theDialog: DialogPtr);
  190. PROCEDURE DlgCopy(theDialog: DialogPtr);
  191. PROCEDURE DlgDelete(theDialog: DialogPtr);
  192. PROCEDURE SetDAFont(fontNum: INTEGER);
  193.     INLINE $31DF,$0AFA;
  194.  
  195. PROCEDURE AppendDITL(theDialog: DialogPtr;theHandle: Handle;method: DITLMethod);
  196. FUNCTION CountDITL(theDialog: DialogPtr): INTEGER;
  197. PROCEDURE ShortenDITL(theDialog: DialogPtr;numberItems: INTEGER);
  198.  
  199.  
  200. {$ENDC}    { UsingDialogs }
  201.  
  202. {$IFC NOT UsingIncludes}
  203.     END.
  204. {$ENDC}
  205.  
  206.